// 该文件用于存放公共函数

import store from '@/store/index.js'
import user from '@/config/api/user.js'

export default {
	/**
	 * 请求用户信息用以登录
	 * 返回值 Promise,成功为true，失败为false
	 */
	reqUserInfoAuth: () => {
		// 是否授权成功
		let rsv; // 接管resolve回调，用于改变Promise的状态
		let res = new Promise(resolve => {
			rsv = resolve;
		});
		// 弹窗
		uni.showModal({
			content: '需要获取用户信息进行登录',
			success: (res) => {
				if (res.confirm) {
					// 用户同意授权
					// 获取临时code
					uni.login({
						success: async (res) => {
							// 用户登录
							let data = await user.userLoginAPI(res.code);
							// 保存用户登录信息
							store.commit('SaveUserInfo', data.data);
							// 改变Promise状态，返回值为true
							rsv(true);
						}
					});
				} else {
					// 改变Promise状态，返回值为false
					rsv(false)
				}
			}
		})
		// 返回结果
		return res;
	}
}